<?php
require_once UHET;

class Object extends Uhet
{

	
	
	private $objetos;

	protected $atributos;
		
	public function __construct(){

		parent::__construct(substr(get_class($this),6));
		
		$this->atributos = array();		
		$this->objetos = null;
	}
	
	public function del($atributo){
		
		unset($this->atributos[$atributo]);
	}
	
	public function set($atributo,$valor){
		
		$this->atributos[$atributo] = $valor;
	}
	
	public function get($atributo){
		
		return $this->atributos[$atributo];
	}
	
	// seta o id do objeto, e percorre todos objetos contidos, setando o id
	public function setId($id){
		
		$this->atributos['id'] = $id;
		
		$matriz_objetos = $this->getMatrizObjetos();
		if ($matriz_objetos) {
		
			foreach ($matriz_objetos as $array_objetos){
				
				foreach ($array_objetos as $objeto){
					
					$atributo = strtolower($this->getObjectName()) . "_id";
					$objeto->set($atributo,$id);
				}
			}
		}
	}
	
	public function getArrayAtributos(){
		
		return $this->atributos;
	}
	
	// retorna array de objetos que se relacionam com $this
	// se nao existir retorna null
	public function getMatrizObjetos(){
		
		if (isset($this->objetos) && is_array($this->objetos)){	
			return $this->objetos;
		} else {
			return null;
		}
	}
	
	// retorna um objeto do array de objetos conforme o atributo
	public function getObject($atributo){
		
		return $this->objetos[$atributo];
	}
	
	public function add($atributo,$objectExtern){
		
		$this->objetos[$atributo][] = $objectExtern;
	}
	
	public function load($array_atributo){
		
		foreach ($array_atributo as $atributo){
			
			$this->atributos[$atributo] = $_POST[$atributo]; 
		}
	}
	
	public function loadArray($array){
		
		/*
		foreach ($array as $index => $elemento){
		
			$this->atributos[$index] = $elemento;	
		}
		*/
		$this->atributos = $array;
	}
}
?>